____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Java Archive
part 2/4 Β· 11.7 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
JAR-Dateien kΓΆnnen mit dem jar-Befehl des JDK (der die Syntax von tar benutzt) oder, sofern die Dateinamen nur ASCII-Zeichen enthalten, mit jedem ZIP-Programm erstellt werden. AuΓerdem bietet die Java Platform, Standard Edition in den beiden Paketen βjava.util.jarβ und βjava.util.zipβ Klassen an, um JAR- oder ZIP-Archive auszulesen oder zu erstellen.
Zum Beispiel zeigt der folgende Befehl den Inhalt einer JAR-Datei namens test.jar an.
jar tvf test.jar
Dabei steht der Buchstabe t fΓΌr βInhaltsverzeichnis anzeigenβ (von englisch table of contents), v fΓΌr ausfΓΌhrliche Ausgabe (von englisch verbose) und f besagt, dass aus einer Datei (englisch file) gelesen werden soll, deren Name folgt.
Manifest
Jedes Java Archive kann im Verzeichnis βMETA-INFβ durch eine Datei namens βMANIFEST.MFβ verschiedene Informationen ΓΌber den Inhalt des Archivs bereitstellen. Zu den wichtigsten Meta-Informationen zΓ€hlen
β’ die zur Laufzeit ermittelbare Version enthaltener Klassenbibliotheken,
β’ Informationen ΓΌber enthaltene JavaBeans und
β’ der Name der Hauptklasse einer enthaltenen Java-Anwendung.
Diese Manifest-Datei ist eine einfache zeilenorientierte Textdatei, die mehrere Paare aus Namen und Werten enthΓ€lt, deren jedes ein sogenanntes Attribut definiert. Ein Attribut ist eine Eigenschaft der gesamten Anwendung, der enthaltenen Klassenbibliothek oder auch nur eines einzelnen Java-Pakets (package) oder einer einzelnen Klasse. ZusΓ€tzlich ist sie in mehrere Abschnitte (sections) aufgeteilt.
Der erste Abschnitt heiΓt main section (Hauptabschnitt) und definiert Attribute, die sich auf das gesamte Java Archive beziehen. Er beginnt immer mit der Definition des Attributs βManifest-Versionβ, wΓ€hrend die ΓΌbrigen Attribute optional sind. Die folgenden Abschnitte beziehen sich jeweils auf ein einzelnes Paket oder eine Klasse und sind optional ebenso wie die darin enthaltenen Attribute. Unbekannte Attribute werden ignoriert und fΓΌhren nicht zu Fehlermeldungen. Wird ein Attribut sowohl im Hauptabschnitt als auch in einem Einzelabschnitt definiert, so ΓΌberlagert der im Einzelabschnitt definierte Wert den im Hauptabschnitt vorbelegten fΓΌr diejenige Komponente (Paket oder Klasse), auf die sich der Abschnitt bezieht.
Beispiel
Das folgende Beispiel zeigt einen Ausschnitt des Manifests der in der Laufzeitumgebung von Java 1.4 enthaltenen Datei βrt.jarβ.
Manifest-Version: 1.0
Specification-Title: Java Platform API Specification
Created-By: 1.4.2_05 (Sun Microsystems Inc.)
Implementation-Title: Java Runtime Environment
Specification-Vendor: Sun Microsystems, Inc.
Specification-Version: 1.4
Implementation-Version: 1.4.2_05
Implementation-Vendor: Sun Microsystems, Inc.
Name: javax/swing/JRadioButtonMenuItem.class
Java-Bean: True
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ